125 research outputs found

    Extracción y análisis de artefactos de memoria de la aplicación Telegram Desktop

    Get PDF
    Este proyecto se centra en el desarrollo de un entorno de análisis forense para la obtención de artefactos presentes en memoria RAM relativos a aplicaciones de mensajería instantánea. Concretamente, el foco se ha puesto en la extracción de artefactos de memoria pertenecientes a la aplicación Telegram Desktop

    Extracción y análisis de artefactos de memoria de la aplicación Telegram Desktop

    Get PDF
    Este proyecto se centra en el desarrollo de un entorno de análisis forense para la obtención de artefactos presentes en memoria RAM relativos a aplicaciones de mensajería instantánea. Concretamente, el foco se ha puesto en la extracción de artefactos de memoria pertenecientes a la aplicación Telegram Desktop

    Análisis de vulnerabilidades y securización de protocolo Modbus/TPC

    Get PDF
    Modbus/TCP es un protocolo de comunicaciones estandarizado de las redes de control industrial, utilizado principalmente en los controladores lógico programables y por sistemas o equipos de supervisión y adquisición de datos (SCADA). Inicialmente, estos sistemas se encontraban en redes aisladas, con lo que la seguridad de los datos no era un factor prioritario ni determinante. Sin embargo, la rápida evolución de la industria y de la tecnología, con la aparición de Internet, ha llevado a estos sistemas a hacer uso del protocolo Modbus en redes abiertas. Esta nueva exposición de la información en los sistemas SCADA ha generado una necesidad de securización de los datos, antes inexistente. Con el objetivo de introducir una herramienta que permita el inicio de la securización del protocolo, en este trabajo se ha desarrollado un entorno de simulación del protocolo Modbus/TCP que permite analizar soluciones de seguridad en este tipo de redes sin necesidad de disponer de un entorno real. Para validar el simulador, se ha dispuesto de un entorno real con una red SCADA que hace uso del protocolo Modbus/TCP. De esta red, se han recogido muestras del tráco de red, analizándolas en detalle. Tras la evaluación del trabajo realizado, se ha obtenido de forma satisfactoria un escenario simulado que reproduce un escenario equivalente al analizado. Además, se han podido reproducir diferentes ataques al protocolo Modbus/TCP en el simulador, lo que permite disponer de un entorno donde se pueden probar diferentes soluciones de seguridad. La realización de este trabajo sirve como punto de partida para nuevos desarrollos orientados hacia la securización del ya estandarizado Modbus/TCP, acelerar la integración de nuevas tecnologías en las redes SCADA o facilitar el estudio, conocimiento y solución de los puntos vulnerables en sistemas similares

    Prevalencia de tipos de ASEPs en malware de Windows.

    Get PDF
    Los puntos de inicio automático de ejecución (Auto Start Execution Points, ASEPs) son aquellos lugares del sistema operativo que permiten a un programa ejecutarse de forma automática sin la necesidad de que haya una interacción explícita con el usuario. En el ámbito de la ciberseguridad, es común que el malware (software malicioso) haga uso de estos elementos para garantizar su persistencia en un sistema comprometido durante el mayor tiempo posible. Este proyecto se centra en diseñar un flujo de trabajo que permita estudiar la prevalencia de los ASEPs en malware de Windows a través de un sistema automatizado, capaz de obtener y procesar muestras de malware de diferentes fuentes, así como de coordinar diferentes máquinas encargadas de analizar dinámicamente su comportamiento para, posteriormente, categorizarlas en función de los resultados de dicho análisis. Una vez finalizada la fase de experimentación del trabajo, se ha podido comprobar que el sistema de análisis desarrollado es capaz de llevar a cabo, de forma exitosa, el análisis y clasificación de la gran mayoría de muestras introducidas en el pipeline de análisis, ofreciendo un reporte detallado de los resultados de este proceso. Por otro lado, se ha podido constatar que el sistema diseñado ha logrado detectar en múltiples muestras el uso de diferentes tipos de ASEPs y, posteriormente, clasificarlos acertadamente. Durante el desarrollo del proyecto han surgido una serie de dificultades que han limitado el alcance original del estudio y para las cuales se ofrece un análisis de su impacto, así como diversas propuestas para solucionarlas.<br /

    Infraestructura software para el arbitraje multiestratégico sobre criptomonedas

    Get PDF
    En la economía y las finanzas, el arbitraje supone una estrategia que permite sacar provecho de las diferencias de precio entre varios mercados financieros sin que apenas suponga un riesgo. Esta estrategia puede verse potenciada en un mercado moderno como el de las criptomonedas, dado que es un tipo de moneda completamente descentralizada donde la criptografía juega un papel fundamental para asegurar transacciones y donde, además, existen diferencias acentuadas entre los mercados debido a su alta volatilidad.Debido a que los valores de los mercados fluctúan cada muy poco tiempo y que existe una de gran cantidad de mercados, tratar de encontrar oportunidades de arbitraje de forma manual resulta una tarea muy complicada. Por ello, en este TFG se ha diseñado un sistema basado en la tecnología Elixir que monitoriza de forma automatizada varias plataformas de cambio de criptomonedas, pudiendo compararlos y obtener posibles beneficios, permitiendo varias estrategias de arbitraje distintas.El diseño arquitectural del sistema permite la inclusión de nuevos mercados, estrategias de arbitraje o plataformas de cambio de forma sencilla siendo además altamente escalable. El sistema, además, permite la generación de gráficos bajo demanda del usuario para la consulta del histórico de beneficios y el estudio del mercado mediante soportes y resistencias. El sistema también está accesible a través de un BOT de Telegram para que el cliente pueda tener acceso a las oportunidades de arbitraje de forma muy sencilla, y que además pueda generar gráficos desde el mismo, cubriendo de esta forma toda la funcionalidad del sistema principal.Durante el desarrollo de la aplicación han ido surgiendo algunos problemas que se han solventado con éxito, como son la falta de experiencia sobre algunas tecnologías utilizadas (Elixir, Gnuplot) o la implementación de una arquitectura compleja sobre un lenguaje de programación con paradigma funcional. A pesar de todo, el sistema obtenido cumple con el objetivo y las expectivas. Algunos aspectos de mejora a futuro son la implementación de funcionalidades para compra automática, desarrollo de tests automatizados, o la inclusión de más plataformas de cambio o mercados para aumentar las oportunidades de arbitraje.<br /

    Ataques de retransmisión inteligente en protocolos de pago NFC

    Get PDF
    La inclusión de nuevas medidas de seguridad en las tarjetas de pago a crédito o a débito ha mejorado notablemente la seguridad con la que se realizan estas transacciones. De realizar operaciones usando la banda magnética de las tarjetas (siendo una tecnologı́a muy insegura) se pasó a usar un chip electrónico, con las llamadas tarjetas EMV o tarjetas chip-and-PIN (tecnologı́a algo más segura). Estas tarjetas implementan el protocolo EMV (de donde toman su nombre), que permite autorizar las transacciones realizadas con la tarjeta mediante la introducción de un código numérico personal (PIN) por parte del titular de la tarjeta. Dichas tarjetas EMV han sido recientemente actualizadas con la adición de un chip que permite la comunicación inalámbrica. Estas nuevas tarjetas, denominadas tarjetas contactless, permiten realizar pagos aproximando únicamente la tarjeta al punto de venta, es decir, sin necesidad de insertarlas en un lector de chip. Además, si la cuantı́a del pago no supera cierto lı́mite se elimina la obligatoriedad de autorizar la transacción mediante un PIN. La comunicación inalámbrica de las tarjetas contactless se basa en el protocolo de comunicación en el campo cercano o Near Field Communication (NFC), que usa la banda de alta frecuencia de Radio Frequency IDentification (RFID). Debido a que NFC no introduce seguridad ni cifrado en la realización de las comunicaciones, la adopción de esta tecnologı́a en las tarjetas permite investigar nuevas formas de atacar a las transacciones realizadas. Por ejemplo, pueden realizarse ataques eavesdropping realizando escuchas en las perturbaciones del campo electromagnético, ası́ como ataques man-in-the-middle permitiendo la inserción, manipulación o corrupción de los datos. Este proyecto se centra en los riesgos introducidos relativos a los ataques de retransmisión, permitiendo realizar una comunicación entre una tarjeta de crédito o débito y un punto de venta malicioso separados por una distancia arbitrariamente grande. Paralelamente a la realización de estos experimentos, se detallan las mejoras introducidas a la aplicación Android NFCLeech. Esta aplicación es un prototipo inicialmente desarrollado en 2014 para probar los ataques de retransmisión y que ahora permite realizar las pruebas de concepto relativas a los ataques de retransmisión extendidos en este trabajo, ası́ como una mejor depuración de la retransmisión de los mensajes y el protocolo utilizado para realizar los pagos

    Búsqueda de conjuntos ROP Turing-completos en sistemas Windows

    Get PDF
    Los ataques Return-Oriented Programming (ROP) permiten la ejecución de un comportamiento arbitrario de un proceso sin la necesidad de introducir nuevo código en su espacio de memoria. El atacante organiza secuencias cortas de instrucciones ya existentes en su espacio de memoria que permiten controlar el flujo de una secuencia a la siguiente. Las secuencias de instrucciones son escogidas de manera que terminan en una instrucción "return", permitiendo así encadenar las secuencias almacenadas en pila. Esta terminación es la que da a la programación return-oriented su nombre. La unidad de organización de la programación return-oriented es el gadget: una secuencia de instrucciones que, cuando se ejecutan, introduce un comportamiento bien definido, como realizar una o-exclusiva o una suma. Una máquina de Turing es un modelo teórico capaz de resolver cualquier problema computacional mediante una serie de operaciones mínimas. Se dice que un sistema es Turing-completo si puede simular el comportamiento de una máquina de Turing, es decir, si puede realizar todas sus operaciones. Estas operaciones son, concretamente, realizar saltos condicionales, cargar una constante, mover un valor de una posición a otra, cargar un valor desde memoria, guardar un valor en memoria y realizar operaciones aritméticas y lógicas. En este trabajo, se presenta una herramienta, llamada EasyROP, que tanto localiza los gadgets que implementan cada una de estas operaciones de Turing como automatiza la formación de ataques ROP. EasyROP permite buscar todas las operaciones para un binario dado, por lo que el atacante tiene la certeza de poder realizar cualquier computación si dicho binario se encuentra cargado en la memoria del proceso víctima. Finalmente, se han analizado los principales binarios de diferentes versiones del sistema operativo Windows (sobre arquitecturas Intel de 32 y 64 bits) para establecer la viabilidad de un ataque en estos sistemas

    Perfomance Analysis and Resource Optimisation of Critical Systems Modelled by Petri Nets

    Get PDF
    Un sistema crítico debe cumplir con su misión a pesar de la presencia de problemas de seguridad. Este tipo de sistemas se suele desplegar en entornos heterogéneos, donde pueden ser objeto de intentos de intrusión, robo de información confidencial u otro tipo de ataques. Los sistemas, en general, tienen que ser rediseñados después de que ocurra un incidente de seguridad, lo que puede conducir a consecuencias graves, como el enorme costo de reimplementar o reprogramar todo el sistema, así como las posibles pérdidas económicas. Así, la seguridad ha de ser concebida como una parte integral del desarrollo de sistemas y como una necesidad singular de lo que el sistema debe realizar (es decir, un requisito no funcional del sistema). Así pues, al diseñar sistemas críticos es fundamental estudiar los ataques que se pueden producir y planificar cómo reaccionar frente a ellos, con el fin de mantener el cumplimiento de requerimientos funcionales y no funcionales del sistema. A pesar de que los problemas de seguridad se consideren, también es necesario tener en cuenta los costes incurridos para garantizar un determinado nivel de seguridad en sistemas críticos. De hecho, los costes de seguridad puede ser un factor muy relevante ya que puede abarcar diferentes dimensiones, como el presupuesto, el rendimiento y la fiabilidad. Muchos de estos sistemas críticos que incorporan técnicas de tolerancia a fallos (sistemas FT) para hacer frente a las cuestiones de seguridad son sistemas complejos, que utilizan recursos que pueden estar comprometidos (es decir, pueden fallar) por la activación de los fallos y/o errores provocados por posibles ataques. Estos sistemas pueden ser modelados como sistemas de eventos discretos donde los recursos son compartidos, también llamados sistemas de asignación de recursos. Esta tesis se centra en los sistemas FT con recursos compartidos modelados mediante redes de Petri (Petri nets, PN). Estos sistemas son generalmente tan grandes que el cálculo exacto de su rendimiento se convierte en una tarea de cálculo muy compleja, debido al problema de la explosión del espacio de estados. Como resultado de ello, una tarea que requiere una exploración exhaustiva en el espacio de estados es incomputable (en un plazo prudencial) para sistemas grandes. Las principales aportaciones de esta tesis son tres. Primero, se ofrecen diferentes modelos, usando el Lenguaje Unificado de Modelado (Unified Modelling Language, UML) y las redes de Petri, que ayudan a incorporar las cuestiones de seguridad y tolerancia a fallos en primer plano durante la fase de diseño de los sistemas, permitiendo así, por ejemplo, el análisis del compromiso entre seguridad y rendimiento. En segundo lugar, se proporcionan varios algoritmos para calcular el rendimiento (también bajo condiciones de fallo) mediante el cálculo de cotas de rendimiento superiores, evitando así el problema de la explosión del espacio de estados. Por último, se proporcionan algoritmos para calcular cómo compensar la degradación de rendimiento que se produce ante una situación inesperada en un sistema con tolerancia a fallos

    Sistema de fuzzing para identificación de tarjetas NFC

    Get PDF
    En este trabajo de fin de grado se pretende desarrollar un sistema para verificar, mediantetécnicas automáticas, el normal funcionamiento y adecuación al estándar EMV de las tarjetasNFC. En concreto, el sistema hará uso de las técnicas de fuzzing, consistentes en proporcionardatos inválidos, inesperados o aleatorios a la entrada de un sistema. Con el uso de estas técnicasse pretende encontrar vulnerabilidades o problemas de seguridad en el objetivo. En este trabajose utilizan estas técnicas para alterar los comandos que se establecen en una transacción EMV.Tras ello se analizan las respuestas obtenidas y se trata de encontrar particularidades entre lastarjetas estudiadas. El objetivo principal de la aplicación de estas técnicas consiste en detectarelementos que permitan identificar de manera inequívoca una tarjeta NFC.<br /

    Posibilidades de mando, control y comunicaciones en el VCI Pizarro

    Get PDF
    En los últimos años el Batallón "Badajoz" I/62 ha sufrido una profunda transformación orgánica, dejando de ser una unidad de montaña para pasar a ser una unidad mecanizada sobre la base de los Vehículos de Combate de Infantería (VCI) Pizarro. Este tipo de unidades requieren unos medios de Mando y Control mucho más complejos que los usados por una unidad de montaña debido a la naturaleza de su maniobra y a su modo de empleo. Actualmente, y con motivo del próximo despliegue de una de las Compañías en Letonia, 2a Compañía, en el Batallón se está empezando a trabajar con el sistema Battlefield Management System (BMS). Este trabajo, en su mayoría teórico, pretende explicar este sistema BMS, analizando su funcionamiento y exponiendo sus posibilidades de mejora futuras. Se debe tener en cuenta la complejidad de dicho sistema, ya que es capaz de mostrar la posición de la unidades propias como de transmitir la información que se desee en tiempo real, siempre con una limitación de tamaño de datos.<br /
    corecore